// public


#include <iostream>
using namespace std;

class Base { 
	public:
		int m_a;
		void foo( ) { cout << "Base::foo" << endl; }
	protected:
		int m_b;
		void bar( ) { cout << "Base::bar" << endl; }
	private:
		int m_c;
		void hum( ) { cout << "Base::hum" << endl; }
};

class Derived : public Base {
	public:
		void foo( ) { cout << "Derived::foo( )" << endl; }
	private:
		int m_d;
};

// designer
// ------------------------------------------------------------------
// user

int main( void ) { 
	Derived d;
	d.fun( );
	d.m_a = 1000;
	d.foo( );

	return 0;
}

